home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
program
/
esyrxv30.lha
/
EasyRexx
/
Includes
/
Modula-2
/
Assembly3.def
next >
Wrap
Text File
|
1993-11-03
|
6KB
|
118 lines
(*###########################*)
DEFINITION MODULE Assembly3; (* v0.0-041785 *)
(*###########################*)
(*
(c) Copyright 1985 Tom Breeden, All Rights Reserved
Aglet Software
PO Box 3314
Charlottesville, VA 22903
*)
CONST
BitPos0 = 000001B; BitPos1 = 000002B; BitPos2 = 000004B;
BitPos3 = 000010B; BitPos4 = 000020B; BitPos5 = 000040B;
BitPos6 = 000100B; BitPos7 = 000200B; BitPos8 = 000400B;
BitPos9 = 001000B; BitPos10 = 002000B; BitPos11 = 004000B;
BitPos12 = 010000B; BitPos13 = 020000B; BitPos14 = 040000B;
BitPos15 = 100000B;
B6 = 000000B; B12 = 010000B; Lix = 4000B;
W6 = 000100B; W12 = 030000B; Wix = 0B;
L6 = 000200B; L12 = 020000B;
D0 = 0; D0b9 = 0000B; D0ix = 0B;
D1 = 1; D1b9 = 1000B; D1ix = 10000B;
D2 = 2; D2b9 = 2000B; D2ix = 20000B;
D3 = 3; D3b9 = 3000B; D3ix = 30000B;
D4 = 4; D4b9 = 4000B; D4ix = 40000B;
D5 = 5; D5b9 = 5000B; D5ix = 50000B;
D6 = 6; D6b9 = 6000B; D6ix = 60000B;
D7 = 7; D7b9 = 7000B; D7ix = 70000B;
A0 = 0; A0b9 = 0000B; A0ix = 100000B;
A1 = 1; A1b9 = 1000B; A1ix = 110000B;
A2 = 2; A2b9 = 2000B; A2ix = 120000B;
A3 = 3; A3b9 = 3000B; A3ix = 130000B;
A4 = 4; A4b9 = 4000B; A4ix = 140000B;
A5 = 5; A5b9 = 5000B; A5ix = 150000B;
A6 = 6; A6b9 = 6000B; A6ix = 160000B;
A7 = 7; A7b9 = 7000B; A7ix = 170000B;
SP = A7; SPb9 = A7b9;
(*EA addr modes*)
DRdir = 0B; DRdirb6 = 000B;
ARdir = 10B; ARdirb6 = 100B;
ARind = 20B; ARindb6 = 200B;
ARindp = 30B; ARindpb6 = 300B;
ARindm = 40B; ARindmb6 = 400B;
ARdisp = 50B; ARdispb6 = 500B;
ARinx = 60B; ARinxb6 = 600B;
AbsW = 70B; AbsWb6 = 700B;
AbsL = 71B; AbsLb6 = 1700B;
PCdisp = 72B;
PCinx = 73B;
Imm = 74B;
(*mnemonics*)
ORI = 000000B; ORIccr = 000074B; ORIsr = 000174B;
BTSTdyn = 000400B; BCHGdyn = 000500B; BCLRdyn = 000600B;
BSETdyn = 000700B; MOVEP = 000010B; ANDI = 001000B;
ANDIccr = 001074B; ANDIsr = 001174B; SUBI = 002000B;
ADDI = 003000B; BTSTstat = 004000B; BCHGstat = 004100B;
BCLRstat = 004200B; BSETstat = 004300B; EORI = 005000B;
EORIccr = 005074B; EORIsr = 005174B; CMPI = 006000B;
(*MOVES = 017000B;*) MOVE = 000000B; MOVEA = 000100B;
NEGX = 040000B;
MOVEfsr = 040300B; CHK = 040600B; LEA = 040700B;
CLR = 041000B; (*MOVEfccr = 041300B;*) NEG = 042000B;
MOVEtccr = 042300B; NOTinstr = 043000B; MOVEtsr = 043300B;
NBCD = 044000B; SWAP = 044100B; PEA = 044100B;
EXTword = 044200B; MOVEMea = 044200B; EXTlong = 044300B;
TST = 045000B; TAS = 045300B; ILLEGAL = 045374B;
MOVEMreg = 046200B; TRAP = 047100B; LINK = 047120B;
UNLK = 047130B; MOVEtusp = 047140B; MOVEfusp = 047150B;
RESETinstr= 047160B; NOP = 047161B; STOP = 047162B;
RTE = 047163B; (*RTD = 047164B;*) RTS = 047165B;
TRAPV = 047166B; RTR = 047167B; (*MOVEC = 047172B;*)
JSR = 047200B; JMP = 047300B; ADDQ = 050000B;
Scc = 050300B; DBcc = 050310B; SUBQ = 050400B;
Bcc = 060000B; BRA = 060000B; BSR = 060400B;
MOVEQ = 070000B; ORdr = 100000B; ORea = 100400B;
DIVU = 100300B; SBCD = 100400B; DIVS = 100700B;
SUBdr = 110000B; SUBea = 110400B; SUBA = 110300B;
SUBX = 110400B; LINE1010 = 120000B; CMP = 130000B;
CMPA = 130300B; EOR = 130400B; CMPM = 130410B;
ANDdr = 140000B; ANDea = 140400B; MULU = 140300B;
ABCD = 140400B; EXGdr = 140500B; EXGar = 140510B;
EXGdrar = 140610B; MULS = 140700B; ADDdr = 150000B;
ADDea = 150400B; ADDA = 150300B; ADDX = 150400B;
ASRdr = 160000B; ASLdr = 160400B; LSRdr = 160010B;
LSLdr = 160410B; ROXRdr = 160020B; ROXLdr = 160420B;
RORdr = 160030B; ROLdr = 160430B; ASRea = 160300B;
ASLea = 160700B; LSRea = 161300B; LSLea = 161700B;
ROXRea = 162300B; ROXLea = 162700B; RORea = 163300B;
ROLea = 163700B; LINE1111 = 170000B;
(* for <shift>dr instructions with shift count in reg *)
ShiftReg = 40B;
(* Conditions for Bcc, DBcc, Scc *)
CC = 2000B; CS = 2400B; EQ = 3400B; GE = 6000B; GT = 7000B; HI = 1000B;
LE = 7400B; LS = 1400B; LT = 6400B; MI = 5400B; NE = 3000B; PL = 5000B;
VC = 4000B; VS = 4400B; F = 0400B; T = 0000B;
HS = CC; LO = CS;
(* All branch instrs *)
BCC = 62000B; BCS = 62400B; BEQ = 63400B; BGE = 66000B; BGT = 67000B;
BHI = 61000B; BLE = 67400B; BLS = 61400B; BLT = 66400B; BMI = 65400B;
BNE = 63000B; BPL = 65000B; BVC = 64000B; BVS = 64400B;
BLO = BCS; BHS = BCC;
(* ModSysTrap = TRAP+4; p-System *)
END Assembly3.